#ifndef     __CTRL_H
#define     __CTRL_H

#include "../utils/error.h"
#include "../utils/nocopyable.h"

namespace main_driver {

class Ctrl : private NoCopyable {

public:
    static constexpr uint32_t DROP_TIMEOUT = 6 * 1000;

    enum class Parts : uint8_t {
        PICK1_LED = 0,
        PICK2_LED = 1,
        STRAW_LED = 2,
        LIGHT_LED = 3,
    };

    void init();

    void open_led(Parts parts);
    void close_led(Parts parts);

    Error drop1();
    Error drop2();

    void lock_open();
    void robot_reset();

private:

};

extern Ctrl ctrl;

}


#endif
